1. Technical Field of the Invention
This invention pertains to information manipulation. More particularly, it pertains to a dynamic methodology and abstractions for object-based information manipulation.
2. Background Art
Currently, abstracting data into an object for object-based manipulation requires static transformation of the information, and each type of information requires its own unique set of interfaces for manipulating the data. For example, current C++ compilers do not provide a way to handle data stored in a relational manner that has a dynamic number of columns or data types from a C++ client computer. Rather, such compilers require that a description be built at design time that exactly matches the relational data, such as SQL data, being accessed. This requires a per column and data type description for each relational table being accessed. This description is then used by an object oriented program (such as on a C++ computer) to read and write data to the relational data store.
There are two primary problems with this approach. First, for each relational data store accessed a fixed description must be built beforehand. Second, if the data store changes (a column is added or removed, or the data type changed for a column) this fixed description must be changed and the program accessing the relational store recompiled and redistributed to all the clients using the program.
It is an object of the invention to provide an improved client/server system and method providing accesses from a client to data that resides on the same or different machines.
It is a further object of the invention to provide an improved system and method providing dynamic access to data in a uniform and extensible fashion from object-oriented programs.
It is a further object of the invention to provide a system and method for representing and transforming information into a model that provides direct object based manipulation of the data.
It is a further object of the invention to provide a system and method providing for dynamic abstracting of any data into a transformed object.
It is a further object of the invention to provide a uniform, object-based system and method for manipulating the information.
It is a further object of the invention to provide an improved system and method for providing an object-oriented representation of non-object-oriented data using an object-oriented language.
It is a further object of the invention to provide a system and method for accessing a relational data store from an object based program dynamically, that is without requiring data descriptions which are built during design and which, if the data store structure changes, are required to be rebuilt and the program recompiled.
It is a further object of the invention to provide a common row/column access mechanism to relational data from an object-based program.
In accordance with the invention, an extensible framework structures a unified interface for data manipulation in a dynamic object-based format. A database manager class provides access to data stored in a database. A specialized file class composes the database manager class and provides a unified interface for use by accessors, such as applications 94. A column data class manages changes made to information stored as objects. A record array class manages vectored access to the objects in the column data class.
Other features and advantages of this invention will become apparent from the following detailed description of the presently preferred embodiment of the invention, taken in conjunction with the accompanying drawings.